home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr15 / condor2.zip / CONDOR.DOC < prev    next >
Text File  |  1993-05-29  |  31KB  |  926 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                       CONDOR
  8.                Copyright 1993 by Larry Mears
  9.                    All Rights Reserved
  10.                    version  2.0
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.     Disclaimer:  There is no gaurantee as to the performance of
  24.              CONDOR.  The user assumes ALL risks involved
  25.              from the use of CONDOR.
  26.  
  27.  
  28.  
  29.  
  30.                       Index
  31.  
  32.  
  33.     Installation .............................................  1
  34.  
  35.     Description  .............................................  1
  36.  
  37.     Syntax       .............................................  2
  38.  
  39.     Constants    .............................................  3
  40.  
  41.     Variables    .............................................  3
  42.  
  43.     Aborting     .............................................  3
  44.  
  45.     Condor in Text modes .....................................  3
  46.  
  47.                 CONDOR COMMANDS
  48.     R_ Resolution .............................................  4
  49.  
  50.     b_ Sound Effects ..........................................  5
  51.  
  52.     C_ Color Set  .............................................  5
  53.  
  54.     D_ Drawto     .............................................  6
  55.  
  56.     F_ Flood Fill .............................................  6
  57.  
  58.     H_ Hollow Set .............................................  6
  59.  
  60.     L_ Lines      .............................................  7
  61.  
  62.     M_ Drawing Mode ...........................................  7
  63.  
  64.     N_ Notes Play Pitches .....................................  8
  65.  
  66.     O_ Circle     .............................................  8
  67.  
  68.     P_ Plot a Pixel ...........................................  8
  69.  
  70.     p_ Position Cursor ........................................  9
  71.  
  72.     S_ Setcolor Register ......................................  9
  73.  
  74.     s_ Screen Clear ...........................................  10
  75.  
  76.     t_ Timed Pause ............................................  10
  77.  
  78.     w_ Write Text .............................................  10
  79.  
  80.     Z_ Rectangle  .............................................. 11
  81.  
  82.     z_ Text Rectangle .......................................... 11
  83.  
  84.     &_ LOOPing    .............................................. 12
  85.  
  86.     ANSI Support  .............................................. 14
  87.  
  88.  
  89.                        -1-
  90.  
  91.                       CONDOR
  92.                Copyright 1993 by Larry Mears
  93.                    All Rights Reserved
  94.                    version  2.0
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.                    INSTALLATION
  103.        Condor is a console device driver.  To use it you add a line
  104.     in your CONFIG.SYS file like:  DEVICE=CONDOR.SYS  If you have
  105.     a line in your CONFIG.SYS file like:  device=ANSI.SYS  remove it.
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.                     DESCRIPTION
  115.        CONDOR is a ANSI.SYS replacment of sorts.  CONDOR enables your
  116.     CGA/EGA/VGA computer to do bitmap style graphics ANY time from DOS or
  117.     from any program that uses DOS CON: for text output.  With ANSI style
  118.     graphics you get low resolution    blocky looking 80x25 graphics, with
  119.     CONDOR you get from 320x200 to 640x480 pixel graphics and ANSI too if
  120.     you want because CONDOR recognizes most ANSI commands and can execute
  121.     ANSI commands even while in a graphics mode.  CONDOR will enhance
  122.     online communications with it's abilities.  Terminal and BBS authors
  123.     will be able to access CONDOR by simply going through DOS for text
  124.     output.  In TURBO C a bdos(2,character,0); command is all it takes to
  125.     give a terminal CONDOR graphics and sound POWER!  If NAPLPS has got you
  126.     down give CONDOR a try!
  127.  
  128.  
  129.        CONDOR is SHAREWARE.  The unregistered verison of CONDOR works fully
  130.     except that it is limited to displaying 4 graphics colors at once.
  131.     This is so there is a reason to register, more colors, up to 256!
  132.     Registration is only $28, print out the REGISTER.FRM and register
  133.     CONDOR today.
  134.  
  135.  
  136.        After you install CONDOR and reboot your system try the included
  137.     demo files by simply typing them from DOS.
  138.     Like: C:\TYPE demo.r6   (.r6)=resolution mode 6,  or  if you like you
  139.     can just type DEMO and the batch file will execute all the demos.
  140.  
  141.  
  142.                     -2-
  143.        SYNTAX ...
  144.        As most know ANSI uses a esc[pram;pramCommand sequence it might
  145.        look like esc[31;42m  CONDOR is very different it is buffered.
  146.        You load Condor's buffer and then execute it.  Condor has a
  147.        8003 byte buffer.   To load Condor's buffer you use a sequence
  148.        like  esc{command,data:command,data: ...  esc}  the 'esc' part
  149.        is really the escape character asci character 27.  Condor
  150.        code will look like this:
  151.        esc{R6:C1,1:L0,0,639,199:t90:R3:esc}  that only loads the buffer
  152.        Use  esc#  to execute the buffer.
  153.  
  154.        The execute command actually wants a 3rd character from
  155.        A-z ( ascii values 65 to 122 including the weird characters
  156.          in between upper and lower case)
  157.        but if it encounters a SPACE or CR or any ascii character out of
  158.        the A-z range it executes as if it received a A.  This is
  159.        so Condor's buffer can be divided up into sub-blocks and the
  160.        esc# command can execute a specific block.  Sub-blocks are not
  161.        required, they are a feature for repetive things like music.
  162.        Sub-blocks within Condor's buffer begin with the { character and end
  163.        with the } character.  They don't have the esc character like the
  164.        beginning and ending block markers for the whole buffer, although
  165.        BLOCK A is actually the esc{  mark at the beginning of the Condor
  166.        buffer. A Sub-block must have a { start marker but doesn't require
  167.        a ending marker, in this case the { sub-block marker acts as a entry
  168.        point in the buffer and will execute till it hits a } character so
  169.        several { markers can share one } marker.  The position of the
  170.        { sub-block marker dictates it's name.  By the way carriage returns
  171.        and line feeds are striped from the buffer at load time but SPACES
  172.        remain.  MOST of the commands require that the computer be in a
  173.        graphics mode too, so you set that with the R command.
  174.         ( REPLACE esc with the escape character )
  175.  
  176.         esc{R6:b1:}
  177.            {L10,10,140,190:
  178.            {b12:}
  179.            {t48:R3:esc}
  180.  
  181.            To execute this in sequence you would go
  182.            esc#A esc#B esc#C esc#D  (spaces for clarity only)
  183.            Block C would get excuted twice but with this setup
  184.            you could enter at block C and skip B.
  185.            If you wanted though you could execute in any order but
  186.            for this to work right you need to execute that R6: command
  187.            first. The R3: command brings you back to a text mode.
  188.            You could go esc#A esc#B esc#D
  189.  
  190.     IMPORTANT!! MOST ALL DOS programs run in text mode so you should
  191.         ALWAYS switch back when done with your graphic.  You can
  192.         use the 't' command to pause for a short display time then
  193.         do a R3: back to text mode.
  194.  
  195.       This might be a little confusing but sub-blocks aren't required
  196.       you could just go esc{R6:b1:L10,10,140,190:b12:R3:esc} esc#A and
  197.       do it all in one block.  Sub-blocks are just for added utility.
  198.       Condor's buffer remains intact until another esc{ ... esc} is
  199.       encountered, so you can execute it several times with the esc#A and
  200.       only load it once.   You might do some repetive things so Condor's
  201.       buffer and sub-blocks can be really useful.
  202.  
  203.  
  204.                     -3-
  205.  
  206.     CONSTANTS range from 0 to 9999.   Condor will only grab 4 digits,
  207.     trying to pass it more will mess things up.  If you did something
  208.     like this L25555100,90,10,10:  the 25555100 part would be interpreted
  209.     as L2555,100,90,10,10: and that 2555 would be off screen anyway.
  210.  
  211.     VARIABLES only exist in the '&' LOOP they are x,y,+,-,! refer
  212.     to the section on the '&' LOOP command for details.
  213.  
  214.     ABORTing...  The USER can press the CTRL key to abort a
  215.     't' pause command  OR to abort a '&' LOOP.  A more
  216.     drastic abort is the ALT key, it will abort a 't' pause
  217.     and the '&' LOOP plus abort the buffer BLOCK being executed
  218.     and reset the screen to the mode it was in at bootup, plus
  219.     set the text color in graphics and text mode to value 7 white.
  220.  
  221.  
  222.     CONDOR COMMANDS in TEXT MODES:
  223.       A few commands can be executed in a text mode like the sound effect
  224.     command 'b'.   These commands can only be excuted once in text mode
  225.     then buffer execution will cease.  For example esc{b1:b4:esc} esc#A
  226.     would only execute the b1: command then exit, however if you set the
  227.     mode to a graphics mode both b1:b4: would excute.  This is a safety
  228.     feature that was put in to keep someone from executing a graphics
  229.     command while in a text mode (causes lockups) BUT I wanted to allow
  230.     access someway to certain commands from text modes because text output
  231.     is much    faster and you might just want a beep or blurp.  You could do
  232.     multiple commands with sub-blocks while in a text mode like:
  233.     esc{b1:} {b4:esc} esc#A esc#B    Commands that can be executed in this
  234.     limited manner in text modes are the '&' LOOP command,
  235.     the 'R' resolution switch command, the 'n' musical NOTES command,
  236.     't' timed pause, the 'w' command WRITE text at column / row, the
  237.     'p' position text cursor at column / row, the 'C' color command,
  238.     'b' sound effects, and the 'z' command write a rectangle of characters.
  239.  
  240.                       -4-
  241.  
  242.                 CONDOR COMMANDS
  243.                 ---------------
  244.  
  245.  
  246.  
  247.     R set Resolution   syntax example R6:
  248.     ----------------
  249.             Switchs screen resolutions. This is the Most important
  250.             command since most Condor commands need to be in a
  251.             GRAPHIC mode to work.  The R command
  252.             automatically adjusts characters for the screen mode.
  253.             Sets the HOLLOWS to TRUE (circles and rectangles will
  254.             not be filled).  Sets the point,line, and fill colors
  255.             to 1.  Sets the character attribute to 7, that's
  256.             white characters with black background, Sets the
  257.             DRAW Mode to REPLACE.  The R command serves as a reset
  258.             command of sorts as well as a resolution switching
  259.             command.   This command is supposed to have no effect
  260.             if a value is passed greater than the video hardware
  261.             can support, however I am unable to test this since
  262.             I have only VGA.
  263.  
  264.             Command identifier  = R
  265.             Parameter           = Graphics mode to set
  266.  
  267.               ( ONLY 4 COLORS AVAILABLE in UNREGISTERED CONDOR. )
  268.  
  269.             Parameter       Screen         Colors  Type
  270.             values          Resolution
  271.             0            40x25           16      TEXT
  272.             1        40x25           16      TEXT
  273.             2        80x25           16      TEXT
  274.             3        80x25           16      TEXT
  275.             4        320x200           4       GRAPHICS
  276.             5        320x200           4       GRAPHICS
  277.             6        640x200           2       GRAPHICS
  278.             7        80x25           2       TEXT
  279.             8        N/A            N/A     N/A
  280.             9        N/A           N/A     N/A
  281.             10        N/A           N/A     N/A
  282.             11        N/A           N/A     N/A
  283.             12        N/A           N/A     N/A
  284.             13        320x200           16      GRAPHICS
  285.             14        640x200           16      GRAPHICS
  286.             15        640x350           2       GRAPHICS
  287.             16        640x350           16      GRAPHICS
  288.             17        640x480           2       GRAPHICS
  289.             18        640x480           16      GRAPHICS
  290.             19        320x200           256     GRAPHICS
  291.  
  292.         EXAMPLE:
  293.         esc{R6:L319,10,219,110:D419,110:D319,10:t48:b15:R3:esc} esc#A
  294.  
  295.         Another way:
  296.         esc{L319,10,219,110:D419,110:D319,10:t48:b15:R3:}{R6:esc}
  297.         esc#B esc#A
  298.         If you went esc#A esc#B nothing would happen except sub-block
  299.         B execution because the A block tries to draw lines and
  300.         that can only be done if a GRAPHICS mode is set, which
  301.         block B sets with the R6: command.
  302.  
  303.                     -5-
  304.  
  305.  
  306.     b sound effects     syntax example  b19:
  307.     ---------------
  308.  
  309.  
  310.                 Plays sound effects using the computer's
  311.                 speaker.  It's bells and whistle time!
  312.  
  313.  
  314.                 Command identifier = b
  315.                 Parameter          = effect number
  316.  
  317.         Effect #           Name:
  318.         --------           -----
  319.           0                pute
  320.           1                yonk
  321.           2                Wood Pecker
  322.           3                British siren
  323.           4                buzz
  324.           5                Laughing Alien
  325.           6                woops
  326.           7                click-pop
  327.           8                meep
  328.           9                barber shears
  329.          10                zip-whistle
  330.          11                hey
  331.          12                insect
  332.          13                boing
  333.          14                broken chime
  334.          15                pebble in puddle
  335.          16                beep
  336.          17                long oh
  337.          18                harmonics
  338.          19                pinball
  339.          20           buzz-zapper
  340.  
  341.      EXAMPLE: esc{b19:esc} esc#A
  342.           esc{R6:b1:b14:b20:b7:t48:R3:esc} esc#A
  343.           esc{R6:&0,20,1,0,b,1,x:R3:esc} esc#A
  344.     .......................................................................
  345.  
  346.     C color set     syntax example C1,2:
  347.     -----------
  348.             C  =  command identifier
  349.             Selects the register number to perform the screen
  350.             operation with.
  351.  
  352.             1st parameter selects screen operation color to change.
  353.             0 = Point color, used for the (P  Plot command).
  354.             1 = line color,  used for the (L  Line Command)
  355.             2 = fill color,  used for the (F  Fill commands and
  356.                      Z rectangle, and C circle )
  357.             3 = text color,  used with the ( w command ).
  358.  
  359.             2nd parameter selects the register number 0 to 255
  360.             depending on the graphic mode.  The range for this
  361.             parameter is (0-3) in the UNREGISTERED CONDOR.
  362.  
  363.             EXAMPLE esc{R19:C1,2:L0,0,100,199:R3:esc} esc#A
  364.  
  365.                     -6-
  366.  
  367.      D line DRAWTO      syntax example D149,99:
  368.      -------------
  369.             D = command identifier
  370.             Draws a line from the place the last place
  371.             a line or point was drawn.
  372.             Use the C command to change line color.
  373.  
  374.             1st parameter = X coordinate
  375.             2nd parameter = Y coordinate
  376.  
  377.             EXAMPLE  esc{R6:P10,10:D100,20:D50,50:D10,10:R3:esc}
  378.                  esc#A
  379.  
  380.     .......................................................................
  381.  
  382.     F flood FILLs   syntax example F600,10,1: or f600,10:
  383.     -------------
  384.             F or f = command identifier
  385.             'F' Fills a area by replacing ALL colors starting
  386.             at specified X,Y coordinates till it hits
  387.             a border of a specified OPERATION COLOR.
  388.             If the command used is the 'f' fill the
  389.             color at X,Y is gotten and replaced with the
  390.             fill color set by the 'C'olor command.  The
  391.             3rd parameter is dropped for the 'f' command.
  392.  
  393.             1st parameter = X coordinate
  394.             2nd paraneter = Y coordinate
  395.             3rd parameter = (0 to 3) specified OPERATION COLOR:
  396.                      0 for current point color
  397.                      1 for current line  color
  398.                      2 for current fill  color
  399.                      3 for current text  color
  400.  
  401.             EXAMPLE esc{R16:C1,12:C2,2:P100,10:D200,100:
  402.                     D0,100:D100,10:F150,90,1:t48:b15:R3:esc}
  403.                     esc#A
  404.  
  405.     .......................................................................
  406.  
  407.  
  408.     H hollow set    syntax example H0:
  409.     ------------
  410.             H = command identifier
  411.             When on non solids are drawn, a circle will be
  412.             drawn instead of a disk.
  413.  
  414.             Parameter  1=on  0=off
  415.  
  416.             EXAMPLE esc{R6:H0:Z10,10,100,50:H1:Z110,10,200,50:
  417.                     t90:b7:R3:esc} esc#A
  418.  
  419.                     -7-
  420.  
  421.     L draw LINE     syntax example L0,0,300,150:
  422.     -----------
  423.             L = command identifier
  424.             Draws a line between specified points.
  425.             Use the C command to change line color.
  426.  
  427.             1st parameter = beginning X coordinate
  428.             2nd parameter = beginning Y coordinate
  429.             3rd parameter = ending    X coordiante
  430.             4th parameter = ending    Y coordinate
  431.  
  432.             EXAMPLE esc{R6:L0,0,639,0:L639,0,639,199:
  433.                     L639,199,0,199:L0,199,0,0:
  434.                     L0,199,639,0:L0,0,639,199:
  435.                     t90:b19:R3:esc}  esc#A
  436.  
  437.     .......................................................................
  438.  
  439.     M drawing MODE  syntax example M2:
  440.     --------------
  441.  
  442.             M = command identifier
  443.  
  444.             Parameter sets drawing mode.
  445.             1 = replace     2 = XOR
  446.  
  447.             Will not work in graphics mode 19.
  448.             Effects anything drawn after setting but only
  449.             after a C command.  So you set M  then do
  450.             a C (color set) anything draw with that color
  451.             will be drawn in XOR mode.  XOR mode is good
  452.             for drawing things on top of things because
  453.             if you draw it twice the XORed drawing disappears
  454.             leaving the background untouched!  Because
  455.             XOR makes the fill command go koo-koo XOR is disabled
  456.             whenever a fill operation occurs.  You have to
  457.             set the color again with the C command to restore
  458.             XOR mode after a fill.   To disable the XORing
  459.             altogether use M1: or do a res switch with the
  460.             R command.
  461.  
  462.             EXAMPLE  esc{R6:M2:H1:C1,1:Z100,20,200,198:
  463.                      Z50,50,250,160:t90:b7:Z50,50,250,160:
  464.                      t48:b20:R3:esc} esc#A
  465.  
  466.                     -8-
  467.     n  notes play   syntax example:
  468.     -------------    n0,4000,1000,1:  or n1,0,9999,100,10,500,1:
  469.  
  470.             n = command identifier
  471.  
  472.             Uses your computer's 1 bit sound and speaker to
  473.             play pitches from 0 to 9999  timed sustains with
  474.             sound shut off flag.  Or can play a PITCH FROM TO
  475.             with STEP and delays between steps with trailing
  476.             SUSTAIN and sound shut on off FLAG.
  477.  
  478.            IF 1st parameter is 0 then
  479.               2nd parameter = pitch, range(0-9999)
  480.               3rd parameter = sustain in 18.2ths of a sec range(0-9999)
  481.               4th parameter = OFF FLAG  0=leave playing,  1=shut off
  482.  
  483.            IF 1st parameter is 1 then
  484.               2nd parameter = FROM pitch, value range(0-9999)
  485.               3rd parameter = TO   pitch, value range(0-9999)
  486.               4th parameter = STEP value, range(1-9999)
  487.               5th parameter = DELAY between STEPs  18.2ths sec(0-9999)
  488.               6th parameter = SUSTAIN when TO value reached 18.2ths sec
  489.               7th parameter = OFF FLAG  0=leave playing  1=shut off
  490.  
  491.  
  492.              EXAMPLE: esc{R6:n0,1100,4,0:n0,1200,4,0:n0,1300,4,0:
  493.                   n0,1400,4,0:n0,1500,4,0:n0,1600,4,0:
  494.                   n0,1700,4,0:n0,1800,4,0:n0,1900,4,0:
  495.                   n0,2000,4,0:n0,2100,4,0:n0,2200,4,0:
  496.                   n0,2300,4,0:n0,2400,4,0:n0,2500,4,1:
  497.                   R3:esc} esc#A
  498.  
  499.     .......................................................................
  500.  
  501.     O   CIRCLE     syntax example O159,100,75:
  502.     ----------
  503.             O = command identifier
  504.             Draws a disc or circle depending if the
  505.             H command is active or not.  This command
  506.             does not do a aspect ratio, so the best
  507.             circles will be in the 320x200 and 640x480
  508.             graphics modes.
  509.  
  510.             1st parameter = X coordinate of circle center
  511.             2nd parameter = Y coordinate of circle center
  512.             3rd parameter = radius of circle
  513.  
  514.             EXAMPLE  esc{R6:O319,99,40:t48:R3:esc} esc#A
  515.     .......................................................................
  516.  
  517.     P  PLOT a pixel  syntax example P149,99:
  518.     ---------------
  519.             P = command identifier
  520.  
  521.             Plot a point on the screen.
  522.             Use the C  command to alter the point color.
  523.  
  524.             1st parameter = X coordinate
  525.             2nd parameter = Y coordinate
  526.  
  527.             EXAMPLE esc{R6:P100,100:P0,0:P40,188:t48:R3:esc} esc#A
  528.  
  529.                     -9-
  530.  
  531.     p position cursor   syntax example  p78,24:
  532.     -----------------
  533.             p = Command identifier
  534.  
  535.             Positions the text cursor at column, row.
  536.  
  537.             1st parameter = column (1 to 80 )
  538.             2nd parameter = row    (1 to 25 )
  539.  
  540.             EXAMPLE esc{R6:p10,21:esc} esc#A
  541.      ......................................................................
  542.  
  543.      S setcolor register
  544.      -------------------
  545.  
  546.             S = command identifier
  547.  
  548.             Sets one COLOR register for CGA/EGA/VGA
  549.             the syntax is different depending on the
  550.             adapter and current graphics mode set by
  551.             the R command.  This command also can change
  552.             the BORDER color and switch BLINKing on/off.
  553.             Supports (R19:) 320x200 256 colors too.
  554.  
  555.          IF in a CGA graphics mode R6: R5: or R4:
  556.              ---        syntax is like: S1,1:
  557.             1st parameter selects which to alter
  558.                 a Color Palette or
  559.                 a BORDER and BACKGROUND change.
  560.                  0=Set border & background
  561.                  1=Set color palette
  562.             2nd parameter is color value for background & border
  563.                 (0-15) or color palette(0-1) to change to.
  564.  
  565.          IF in a EGA/VGA graphics mode R13: TO R18:
  566.              -------    syntax is like: S0,2,63:  to set a register
  567.                 syntax is like: S1,63:    to set border color
  568.                 syntax is like: S2,1:     to set blink flag
  569.             1st parameter selects which to alter
  570.                 color register, border color or blink
  571.  
  572.                    To set a COLOR REGISTER:
  573.                    1st prammeter = 0
  574.                    2nd parameter = REGISTER number ( 0 to 15 )
  575.                    3rd parameter = Color Val(0-63) (0-15)R13:,R14:
  576.  
  577.                    To set the BORDER COLOR:
  578.                    1st parameter = 1
  579.                    2nd parameter = color Val(0-63) (0-15)R13:,R14:
  580.  
  581.                    To  turn BLINK on/off
  582.                    1st parameter = 2
  583.                    2nd parameter = 0 blink OFF or
  584.                            1 blink ON
  585.  
  586.          IF in VGA/MCGA graphics mode R19:  (320x200  256 colors)
  587.            --------          syntax is like: S227,24,255,0:
  588.                 1st parameter = color register number 0-255
  589.                 2nd parameter = RED   value ( 0 - 63 )
  590.                 3rd parameter = GREEN value ( 0 - 63 )
  591.                 4th parameter = BLUE  value ( 0 - 63 )
  592.  
  593.                     -10-
  594.  
  595.     s Screen Clear     syntax example s0:
  596.     --------------
  597.             s = Command identifier
  598.  
  599.             Clears the screen by resetting
  600.             the graphics mode to whatever
  601.             mode is currently selected.
  602.  
  603.             Parameter = NULL effect
  604.                   This is for future expansion,
  605.                   so as to hold syntax compatability.
  606.  
  607.             EXAMPLE esc{R6:L10,10,639,180:t32:b12:s0:t48:b17:
  608.                     R3:esc} esc#A
  609.  
  610.     .......................................................................
  611.  
  612.  
  613.     t  Timed Pause       syntax example t52:
  614.     --------------
  615.             t = Command identifier
  616.  
  617.             Wait for specified 18.2ths of a second.
  618.             You can pause up to 1092 units, which
  619.             is one full minute.  To ABORT a Pause
  620.             the User can press the Ctrl key.
  621.  
  622.             Parameter = 1 to 1092  18.2ths of a second
  623.  
  624.             EXAMPLE: esc{R6:Z20,20,150,140:t52:b19:R3:esc} esc#A
  625.  
  626.     .......................................................................
  627.  
  628.  
  629.     w  Write text    syntax example   w10,20,LOOK AT US NOW - by Joe Walsh@
  630.     -------------
  631.             w = Command identifier
  632.  
  633.             Writes a string of characters ending with a
  634.             @ symbol at the column, row specified.
  635.             It's VERY VERY important to end the string with @,
  636.             If you don't this command will eat the the code
  637.             after it!  Pressing the ALT key may recover.
  638.             The @ symbol can be printed only if it is
  639.             the only character in the string to print,
  640.             ie  w10,10,@   would print the @ symbol
  641.             at location 10,10.  Also note that the
  642.             : need not be used after the @ symbol.
  643.             Use the C command to change the text color.
  644.  
  645.             1st parameter =  column ( 1 to 80 )
  646.             2nd parameter =  row    ( 1 to 25 )
  647.             3rd parameter = string of characters ending with a @
  648.  
  649.             EXAMPLE  esc{R6:w10,20,Back to Humans - by Queen@t52:
  650.                      R3:esc} esc#A
  651.  
  652.                     -11-
  653.  
  654.     Z  Rectangle     syntax example  Z0,0,639,199:
  655.     ------------
  656.             Z = Command identifier
  657.  
  658.             Draws a rectangle, you specify
  659.             the upper left and lower right
  660.             corner coordinates.  Use the
  661.             C command to change colors and
  662.             the H command to draw a solid
  663.             instead of a frame.
  664.  
  665.             1st parameter = upper left corner  X coordinate
  666.             2nd parameter = upper left corner  Y coordinate
  667.             3rd parameter = lower right corner X coordinate
  668.             4th parameter = lower right corner Y coordinate
  669.  
  670.             EXAMPLE esc{R6:Z20,50,277,189:t48:b15:R3:esc} esc #A
  671.  
  672.     .......................................................................
  673.  
  674.  
  675.     z  TEXT Rectangle    syntax example  z1,1,80,25,*:
  676.     -----------------
  677.  
  678.             z = Command identifier
  679.  
  680.             Prints a rectangle made of a specified
  681.             character with the upper left corner and
  682.             lower right corners specifed as column and
  683.             row coordinates.  You can get high ascii
  684.             characters by holding alt and typing the ascii
  685.             value on the numeric keypad.  Useful is ascii
  686.             219 for FILLING large areas and then only using
  687.             the slow F or f command to fill in the edges.
  688.  
  689.             1st parameter = upper left  corner COLUMN ( 1 to 80 )
  690.             2nd parameter = upper left  corner ROW    ( 1 to 25 )
  691.             3rd parameter = lower right corner COLUMN ( 1 to 80 )
  692.             4th parameter = lower right corner ROW    ( 1 to 25 )
  693.             5th parameter = CHARACTER to make the rectangle with
  694.                     followed by the : just like a number
  695.                     value.
  696.  
  697.             EXAMPLE esc{R6:z4,3,8,12,X:t48:b18:R3:esc} esc#A
  698.  
  699.                     -12-
  700.  
  701.     &  LOOP a command(s)     &0,198,6,0,L,4,0,0,x,y:
  702.     --------------------
  703.  
  704.             & = command identifier
  705.  
  706.             Loops a command a specified number of times with
  707.             stepping, special options for XOR ing and the
  708.             write text command.   You can loop a
  709.             chain of commands, see parameter 5,  BUT you can't
  710.             loop a loop.  Still this command is very powerful
  711.             and worth every effort to learn!
  712.             Note: PRESS the CTRL key to abort a loop.
  713.  
  714.             1st parameter = FROM value
  715.                 if FROM value bigger than TO value
  716.                 loop will detect and step backwards.
  717.  
  718.             2nd parameter = TO value
  719.             3rd parameter = step value, positive number only.
  720.             4th parameter = DELAY  roughly a 360th of a second
  721.                     between each step of the loop.
  722.             5th parameter = command Identifier to loop.
  723.                 optional specification character after 5th
  724.                 parameter instead of comma:
  725.                    | = XOR stepping
  726.                    @ = get text for w command everytime
  727.                    otherwise text written from loop
  728.                    with the w command is last text
  729.                    written with w command before the
  730.                    loop was executed.  w command now
  731.                    ignores CR and LF so loop command
  732.                    can be used for easy written text
  733.                    placement with the  loop's stepping.
  734.            NOTE: (Chain Gang) If a > symbol is given here as a command
  735.                   identifer chain gang option is invoked.
  736.                   This allows multiple commands to LOOPed.
  737.                   Instead of one command specified for this
  738.                   parameter a string of command identifers
  739.                   are passed.
  740.                   The > to get CONDOR's attention to chain-
  741.                   gang, and ending with the @ FOLLOWED by a
  742.                   comma.   Like this >CL@,
  743.                     C is at command position 0
  744.                     L is at command position 1
  745.                   The position of the command is the key
  746.                   to which command will be executed.
  747.                   There can be up to 128 (0-127) commands in
  748.                   this command string in any order you like.
  749.  
  750.     Example: switching line color and drawing lines too
  751.     esc{R14:&0,636,6,0,>CL@,16,0)1,3:1)319,99,x,20:0)1,2:1)319,99,+2,20:
  752.         t48:b11:R3:esc} esc#A
  753.     You can replace the  )  above with the commands themself
  754.     (or any non-numeric character) like so:
  755.     esc{R14:&0,636,6,0,>CL@,16,0C1,1:1L319,99,x,179:0C1,2:1L319,99,+2,179:
  756.         t48:b12:R3:esc} esc#A
  757.  
  758.             ( continued on next page )
  759.  
  760.  
  761.                     -13-
  762.  
  763.             6th parameter = total number of parameters command(s)
  764.                 that are being looped requires.  You are required
  765.                 to specify the total number the command(s) requires
  766.                 ie L command requires 4 , ie C command 2.
  767.                 If using the CHAIN GANG option a L command requires
  768.                 5 parameters, a C command 3.
  769.                 You can specify multiples of the required number
  770.                 such as 8 or 12 for the L command, Maximum up to
  771.                 2048, for LOOPing several L ine commands at once,
  772.                 this works sort of like BASIC's READ DATA
  773.                 statements between each LOOP step.
  774.  
  775.               REMAINING parameters = whatever the command(s) being
  776.                 looped requires.  If you use a "x" as a
  777.                 parameter it will be stepped in the direction
  778.                 of the FROM TO values, use a "y" and the loop
  779.                 will step the value in a reverse direction.
  780.                 You can use both "x" and "y" at the same time.
  781.                 If you use a number it will remain as a constant
  782.                 for the command being looped through out the
  783.                 loop execution.
  784.  
  785.                  You can preceed constants for a command being
  786.                  LOOPed with +,-, or !
  787.  
  788.                  +CONSTANT will ADD the CONSTANT to the x step
  789.                   value.
  790.  
  791.                  -CONSTANT will SUBTRACT the CONSTANT from the
  792.                   x step value.
  793.  
  794.                  !CONSTANT will SUBTRACT the x step value from
  795.                   the CONSTANT.
  796.  
  797.            syntax example &10,50,4,0,L,4,x,+90,!639,-2:
  798.  
  799.     LOOP example, Written text option:
  800.     esc{R6:&1,7,1,0,w@2,25,x,A. Item 1@
  801.     B. Item 2@
  802.     C. Item 3@
  803.     D. Item 4@
  804.     E. Item 5@
  805.     F. Item 6@
  806.     G. Item 7@
  807.     t72:b4:R3:esc}esc#A
  808.  
  809.     Example of loop used to READ DATA and step within at the same time in
  810.     both directions.
  811.     esc{R6:&0,639,4,0,L,16,319,99,x,0:319,99:y,0:319,99,x,199:319,99:y,199:
  812.         t52:b16:R3:esc}esc#A
  813.  
  814.  
  815.                     -14-
  816.  
  817.                 ANSI SUPPORT
  818.                 ------------
  819.  
  820.        CONDOR supports ANSI escape sequences.   You can't place
  821.     ANSI commands in the CONDOR buffer and execute them BUT you can first
  822.     switch to a GRAPHICS mode with a CONDOR  Rx: command then draw some
  823.     lines, what have you, with CONDOR and at exit don't do a R3: command.
  824.     The ANSI commands will still work, the only thing is that you will
  825.     not get the ANSI background colors and BLINKing characters, this
  826.     is how you mix CONDOR and ANSI commands to get the best of both.
  827.     If you switch back to a TEXT mode then you get the ANSI character's
  828.     background color and BLINK.  CONDOR R3: switches to color TEXT mode
  829.     80x25.  I left most of the cursor positioning work for the ANSI
  830.     commands to save on memory, CONDOR has to fit in 64K to work and I
  831.     want to expand it little in the future.
  832.  
  833.     ANSI COMMANDS SUPPORTED:
  834.     ------------------------
  835.         ? = numeric value
  836.  
  837.         esc[?;?H           Move cursor to line, column.  If no
  838.                     parameters specified cursor is sent
  839.                     to HOME (1,1)
  840.  
  841.         esc[?;?f        Exactly the same as the above command.
  842.  
  843.         esc[?A            Move cursor UP.  Moves cursor up by the
  844.                     number of lines specifed without
  845.                     changing columns.  If cursor is at the
  846.                     top line this command is ignored.
  847.  
  848.         esc[?B                  Move cursor DOWN.  Moves cursor down
  849.                     by the number of lines specifed without
  850.                     changing columns.  If cursor is at the
  851.                     bottom line this command is ignored.
  852.  
  853.         esc[?C            Cursor FORWARD.  Moves cursor forward
  854.                     by the specified number columns without
  855.                     changing lines. If the cursor is at the
  856.                     rightmost column command is ignored.
  857.  
  858.         esc[?D            Cursor BACKWARD.  Moves cursor backward
  859.                     by the specified number columns without
  860.                     changing lines. If the cursor is at the
  861.                     leftmost column command is ignored.
  862.  
  863.         esc[s            SAVE cursor position.  Get current
  864.                     cursor position and remember it.
  865.                     Use the esc[u sequence to set cursor
  866.                     to saved position.
  867.  
  868.         esc[u            RESTORE Cursor Position.  Sets the
  869.                     cursor to the SAVEed position
  870.                     established with the esc[s sequence.
  871.  
  872.         esc[2J            Erase the Screen.  Clears screen and
  873.                     moves the cursor to HOME (1,1).
  874.  
  875.         esc[K            ERASE Line.  Clears all characters from
  876.                     cursor positon to the end of the line.
  877.  
  878.                     -15-
  879.  
  880.                  ( ANSI commands continued )
  881.  
  882.  
  883.         esc[?;?;?m        Set TEXT Attributes,
  884.                     TEXT Foreground colors and
  885.                     TEXT Background colors.
  886.  
  887.                     TEXT Attribute values:
  888.                         0 = All attributes OFF
  889.                         1 = Bold ON
  890.                         4 = NO EFFECT
  891.                         5 = BLINK ON
  892.                         7 = REVERSE Video ON
  893.                         8 = CONCEALED ON
  894.  
  895.                     FORGROUND color values:
  896.                         30 = BLACK
  897.                         31 = RED
  898.                         32 = GREEN
  899.                         33 = YELLOW
  900.                         34 = BLUE
  901.                         35 = MAGENTA
  902.                         36 = CYAN
  903.                         37 = WHITE
  904.  
  905.                     BACKGROUND color values:
  906.                         40 = BLACK
  907.                         41 = RED
  908.                         42 = GREEN
  909.                         43 = YELLOW
  910.                         44 = BLUE
  911.                         45 = MAGENTA
  912.                         46 = CYAN
  913.                         47 = WHITE
  914.  
  915.        The ANSI commands esc[?h, esc[?l, esc[code;string;...p  are
  916.     NOT supported.
  917.  
  918.     -----------------------------------------------------------------------
  919.  
  920.       I hope CONDOR will make major changes in the online world but it
  921.     depends on you.  I have given you my best effort in bringing
  922.     Condor forth.  I have tried and even if Condor fails, I'm still better
  923.     off than if I had tried to do nothing and succeeded.
  924.  
  925.        Terminal and    BBSs authors please see How_to.txt
  926.